package com.kingdee.eas.scm.sm.pur;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import java.lang.String;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.bos.dao.IObjectPK;
import java.util.Map;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.eas.scm.common.ISCMBillBase;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.bos.util.*;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.eas.framework.CoreBaseInfo;
import com.kingdee.bos.framework.*;

public interface IPurRequest extends ISCMBillBase
{
    public PurRequestInfo getPurRequestInfo(IObjectPK pk) throws BOSException, EASBizException;
    public PurRequestInfo getPurRequestInfo(IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException;
    public PurRequestInfo getPurRequestInfo(String oql) throws BOSException, EASBizException;
    public PurRequestCollection getPurRequestCollection() throws BOSException;
    public PurRequestCollection getPurRequestCollection(EntityViewInfo view) throws BOSException;
    public PurRequestCollection getPurRequestCollection(String oql) throws BOSException;
    public void audit(IObjectPK objPK) throws BOSException, EASBizException;
    public void audit(IObjectPK[] ids) throws BOSException, EASBizException;
    public void cancellation(IObjectPK objPK) throws BOSException, EASBizException;
    public void cancellation(IObjectPK[] ids) throws BOSException, EASBizException;
    public void cancellation(IObjectPK[] ids, IObjectValue reasonCode) throws BOSException, EASBizException;
    public void cancellation(IObjectPK pk, IObjectValue reasonCode) throws BOSException, EASBizException;
    public void cancellation(IObjectPK[] ids, String reason) throws BOSException, EASBizException;
    public void cancellation(IObjectPK objpk, String reason) throws BOSException, EASBizException;
    public void close(IObjectPK pk) throws BOSException, EASBizException;
    public void unAudit(IObjectPK pk) throws BOSException, EASBizException;
    public void unAudit(IObjectPK[] pks) throws BOSException, EASBizException;
    public void handleWriteBack(IObjectPK[] pks) throws BOSException, EASBizException;
    public void handleWriteBack(IObjectValue newObjectValue, IObjectValue oldObjectValue) throws BOSException, EASBizException;
    public void handleWriteBack_UnAudit(IObjectPK[] pks) throws BOSException, EASBizException;
    public String handleGatherBill(IObjectPK[] pkBillEntrys, IObjectPK[] pkBills) throws BOSException, EASBizException;
    public Map submitForPlan(PurRequestInfo[] purRequestInfo) throws BOSException, EASBizException;
}